安装vsftpd
编辑vsftpd.conf
内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| listen=YES connect_from_port_20=YES pasv_enable=YES tcp_wrappers=YES local_enable=YES chroot_local_user=yes anonymous_enable=NO guest_enable=YES guest_username=vsftpdguest user_config_dir=/etc/vsftpd/vsftpd_user_conf pam_service_name=/etc/pam.d/vsftpd dirmessage_enable=YES idle_session_timeout=600 check_shell=NO
|
创建一个虚拟用户映射系统用户
1
| useradd –s /sbin/nologin vsftpdguest
|
安装 mysql
具体步骤参考 MySQL安装
安装 pam-mysql
1 2 3 4 5
| wget http://cdnetworks-kr-1.dl.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz tar zxvf pam_mysql-0.7RC1.tar.gz cd pam_mysql-0.7RC1 ./configure --with-mysql=/usr/local/mysql --with-pam=/usr --with-pam-mods-dir=/usr/lib make && make install
|
创建vsftp 库和相关的表并授权
1 2 3 4 5 6
| >create database vsftp; >use vsftp ; >create table users ( name char(16) binary ,passwd char(125) binary ) ; >insert into users (name,passwd) values ('test001',password('123456')); >insert into users (name,passwd) values ('test002',password('234567')); >grant select on vsftp.users to vsftpdguest@localhost identified by 'vsftpdguest';
|
创建虚拟账户的配置文件
1 2 3
| mkdir /etc/vsftpd/vsftpd_user_conf cd /etc/vsftpd/vsftpd_user_conf vim test001
|
内容如下
1 2 3 4
| local_root=/ftp/ write_enable=YES virtual_use_local_privs=YES chmod_enable=YES
|
编辑验证文件
内容如下
1 2 3
| auth required /usr/lib/pam_mysql.so user=vsftpdguest passwd=vsftpdguest host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2 account required /usr/lib/pam_mysql.so user=vsftpdguest passwd=vsftpdguest host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
|
如果不想使用mysql也可以使用文件的形式来搞虚拟账号,请参考vsftp部署和优化